package com.zbkj.crmeb.finance.response;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 用户充值表
 * </p>
 *
 * @author Mr.Zhang
 * @since 2020-05-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("eb_user_recharge")
@ApiModel(value="UserRecharge对象", description="用户充值表")
public class UserRechargeResponse implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "服务商id")
    private Integer agentId;

    @ApiModelProperty(value = "服务商名称")
    private String agentName;

    @ApiModelProperty(value = "商户id")
    private Integer merId;
    
    @ApiModelProperty(value = "商户名称")
    private String merName;
    
    @ApiModelProperty(value = "充值用户UID")
    private Integer uid;

    @ApiModelProperty(value = "充值用户名称")
    @TableField(exist = false)
    private String uName;

    @ApiModelProperty(value = "充值用户手机")
    @TableField(exist = false)
    private String uPhone;

    @ApiModelProperty(value = "充值用户头像")
    @TableField(exist = false)
    private String uAvatar;

    @ApiModelProperty(value = "订单号")
    private String orderId;

    @ApiModelProperty(value = "充值金额")
    private BigDecimal price;

    @ApiModelProperty(value = "订单来源  0: 前端用户 1: 后端用户")
    private Boolean type;
    
    @ApiModelProperty(value = "订单状态 0: 待处理 1: 通过 2: 拒绝")
    private Integer status;
    
    @ApiModelProperty(value = "交易类型 1: 充值 2: 提现")
    private Integer tradeType;

    @ApiModelProperty(value = "购买赠送金额")
    private BigDecimal givePrice;

    @ApiModelProperty(value = "充值类型")
    private String rechargeType;

    @ApiModelProperty(value = "是否到账")
    private Boolean paid;

    @ApiModelProperty(value = "平台付款金额（提现审核）")
    private BigDecimal paymentAmount;

    @ApiModelProperty(value = "退款金额")
    private BigDecimal refundPrice;
    
    @ApiModelProperty(value = "支付二维码")
    private String payImage;
    
    @ApiModelProperty(value = "开户行, 线下充值字段")
    private String createBank;
    
    @ApiModelProperty(value = "付款账户, 线下充值字段")
    private String bankName;
    
    @ApiModelProperty(value = "付款账号, 线下充值字段")
    private String bankNo;
    
    @ApiModelProperty(value = "外部单号")
    private String orderNum;
    
    @ApiModelProperty(value = "ip")
    private String ip;
    
    @ApiModelProperty(value = "支付时间")
    private Date payTime;
    
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "凭证url集合")
    private List<String> urlList;

    @ApiModelProperty(value = "商户创建时间")
    private Date merCreateTime;

    @ApiModelProperty(value = "服务商创建时间")
    private Date agentCreateTime;

}
